$(function(){
    // 定义全局变量，保存参数对象
    var q={
        // 	pagenum页码值
        pagenum:1,
        //  pagesize每页显示多少条数据
        pagesize:2,
        cate_id:'',
        state:''
    }
    // --------------------------------------------
    // 定义过滤器函数-发布时间进行格式化
    template.defaults.imports.dateFormat = function (val){
        var dt=new Date(val)
        var y=dt.getFullYear()
        var m=dt.getMonth()+1
        m=padZero(m)
        var d=dt.getDate()
        d=padZero(d)

        var hh=padZero(dt.getHours())
        var mm=padZero(dt.getMinutes())
        var ss=padZero(dt.getSeconds())
        return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
    }
    function padZero(n){
        return  n < 10 ? '0'+n : n
    }
    // --------------------------------------------
    // 封装一个函数获取文章数据
    getArticleListt()
    function getArticleListt(){
        $.ajax({
            url:'/my/article/list',
            data:q,
            success:function(res){
                // console.log(res);
                if(res.status!==0){
                    return layui.layer.msg(res.message,{icon:5})
                }
                // 用模板引擎渲染页面
                var htmlStr=template('tpl-list',res)
                // console.log(htmlStr);
                $('tbody').html(htmlStr)
                // 渲染分页功能
                renderPage(res.total)
            }
        })
    }
    // --------------------------------------------
    // 渲染分页按钮的函数
    function  renderPage(total){
        layui.laypage.render({
            elem:'pageBox',    //存放按钮的容器ID，没有#
            count:total,
            limit:q.pagesize,   //每页显示的条数
            curr:q.pagenum,    //当然第几页(高亮显示)
            // 自定义页码排版的模板
            layout:['page','next','prev','count','limit','skip'],
            limits:[2,3,4,5,6,8,10],   //每页显示的条数
            // 1)当前1次渲染分页按钮时,jump回调函数就会被调用一次
            // 2)当切换分也时,jump回调函数就会被执行
            jump:function(obj,first){
                // console.log(obj,first);
                // obj分页的配置对象(obj.limit,obj.curr当前单击的页码)
                // first值(true和undefined)
                // 当点击页码按钮时，才去调用函数，获取文章数据
                if(first !== true){
                    // 获取当前的最新页码obj .curr,更改查询参数q,调用函数重新获取文章数据
                    q.pagenum = obj .curr
                    // 获取当前每页最新的条数，更改查询参数q,调用函数重新获取文章数
                    q.pagesize = obj.limit
                    getArticleListt()
                }
            },
             
        })
    }
    // --------------------------------------------
    // 把所有的分类展示到下拉列表
    initCate()
    function initCate(){
        $.ajax({
            url:'/my/article/cates',
            success:function(res){
                if(res.status!==0){
                    return layui.layer.msg(res.message,{icon:5})
                }
                // console.log(res);
                var htmlStr=template('tpl-cate',res)
                // console.log(htmlStr);
                $('select[name="cate_id"]').html(htmlStr)
                layui.form.render()
            }
        })
    }
    // --------------------------------------------
    // 单击'筛选'按钮发送请求
    $('#form-search').submit(function(e){
        e.preventDefault()
        // 获取分类的id 获取文章的状态
        var cate_id=$('[name=cate_id]').val()
        var state=$('[name=state]').val()
        // 修改查询参数对象
        q.cate_id=cate_id
        q.state=state
        // 调用函数获取文章数据
        getArticleListt()
    })
    // --------------------------------------------
    // 删除文章操作
    $('tbody').on('click','.btn-delete',function(){
        // 单击删除按钮时，统计删除按钮的数量，并保存
        var len=$(this).length
        var id=$(this).attr('data-id')
        // console.log(id);
        layui.layer.confirm('您确定删除此文章吗?', {icon: 3, title:'提示'}, function(index){
            //do something
            $.ajax({
                url:'/my/article/delete/'+id,
                success:function(res){
                    // console.log(res);
                    if(res.status!==0){
                        return layui.layer.msg(res.message,{icon:5})
                    }
                    layui.layer.msg(res.message,{icon:6})
                    if(len === 1){
                        // if(q.pagenum > 1){
                        //     q.pagenum--
                        // }
                        // 短路运算
                        q.pagenum > 1 && q.pagenum--
                    }
                    // 重新渲染页面
                    getArticleListt()
                    
                }
            })
            layer.close(index);
          });
    })
    // --------------------------------------------
    // 编辑操作
    $('tbody').on('click','.btn-edit',function(){
        // 获取文章ID,保存到本地存储
        var id=$(this).attr('data-id')
        localStorage.setItem('article_id',id)
        location.href="art_edit.html"
    })
})